home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #1 / Amiga Plus CD - 2000 - No. 1.iso / Tools / Grafik / Paint / Perfectpaint / rexx / box / Funny_Border.rx < prev   
Encoding:
Text File  |  1999-12-03  |  2.5 KB  |  145 lines

  1. /* Box arexx test */
  2.  
  3.     options results
  4.   parse ARG Port x1 y1 x2 y2 b
  5.     ADDRESS value Port
  6.     pp_updateundo
  7.  
  8.     pp_DialogInit 250 60 "*Funny*Border*" 1
  9.         pp_Cycle 0 100 8 100 16 "Type" 1 "1|2|3|4|Light|Shade" 0
  10.     pp_Dialog
  11.     rc=result
  12.     if rc=0 then
  13.         do
  14.             EXIT
  15.         end        
  16.  
  17.     pp_GetDialog 0
  18.     type=result
  19.  
  20. if type=0 then DO
  21.     xb=trunc(((abs(x1-x2)+1)*10)/100);yb=trunc(((abs(y1-y2)+1)*10)/100)
  22.     ab=xb
  23.     if xb>yb then
  24.     do
  25.     ab=yb
  26.     end
  27.     pp_startpoly
  28.     pp_addpoly x1 y1+ab
  29.     pp_addpoly x1+ab y1
  30.     pp_addpoly x2-ab y1
  31.     pp_addpoly x2 y1+ab
  32.     pp_addpoly x2 y2-ab
  33.     pp_addpoly x2-ab y2
  34.     pp_addpoly x1+ab y2
  35.     pp_addpoly x1 y2-ab
  36.     pp_addpoly x1 y1+ab
  37.     pp_endpoly
  38. END
  39.  
  40. if type=1 then DO
  41.     xb=trunc(((abs(x1-x2)+1)*10)/100)
  42.     yb=trunc(((abs(y1-y2)+1)*10)/100)
  43.     ab=xb
  44.     if xb>yb then
  45.     do
  46.         ab=yb
  47.     end
  48.     pp_line x1+ab y1 x2-ab y1
  49.     pp_line x2 y1+ab x2 y2-ab
  50.     pp_line x2-ab y2 x1+ab y2
  51.     pp_line x1 y2-ab x1 y1+ab
  52.   
  53.     pp_spline x1 y1+ab x1+ab y1 x1 y1
  54.     pp_spline x2-ab y1 x2 y1+ab x2 y1
  55.     pp_spline x2 y2-ab x2-ab y2 x2 y2
  56.     pp_spline x1+ab y2 x1 y2-ab x1 y2
  57. END
  58.  
  59. if type=2 then DO
  60.     xb=trunc(((abs(x1-x2)+1)*10)/100)
  61.     yb=trunc(((abs(y1-y2)+1)*10)/100)
  62.     ab=xb
  63.     if xb>yb then
  64.     do
  65.         ab=yb
  66.     end
  67.     ab2=trunc(ab/3)
  68.  
  69.     pp_line x1+ab y1 x2-ab y1
  70.     pp_line x2 y1+ab x2 y2-ab
  71.     pp_line x2-ab y2 x1+ab y2
  72.     pp_line x1 y2-ab x1 y1+ab  
  73.  
  74.     pp_spline x1 y1+ab x1+ab y1 x1+ab2 y1+ab2
  75.     pp_spline x2-ab y1 x2 y1+ab x2-ab2 y1+ab2
  76.     pp_spline x2 y2-ab x2-ab y2 x2-ab2 y2-ab2
  77.     pp_spline x1+ab y2 x1 y2-ab x1+ab2 y2-ab2
  78. END
  79.  
  80. if type=3 then DO
  81.     xb=trunc(((abs(x1-x2)+1)*20)/100)
  82.     yb=trunc(((abs(y1-y2)+1)*20)/100)
  83.     ab=xb
  84.     if xb>yb then
  85.     do
  86.         ab=yb
  87.     end
  88.     ac=trunc(ab/2)
  89.     pp_STARTpoly
  90.     pp_ADDpoly x1 y1
  91.     pp_ADDpoly x1+ac y1
  92.     pp_ADDpoly x1+ac y1+ab
  93.     pp_ADDpoly x1 y1+ab
  94.     pp_ADDpoly x1 y2-ab
  95.     pp_ADDpoly x1+ac y2-ab
  96.     pp_ADDpoly x1+ac y2
  97.     pp_ADDpoly x1 y2
  98.     pp_ADDpoly x1 y2-ac
  99.     pp_ADDpoly x1+ab y2-ac
  100.     pp_ADDpoly x1+ab y2
  101.     pp_ADDpoly x2-ab y2
  102.     pp_ADDpoly x2-ab y2-ac
  103.     pp_ADDpoly x2 y2-ac
  104.     pp_ADDpoly x2 y2
  105.     pp_ADDpoly x2-ac y2
  106.     pp_ADDpoly x2-ac y2-ab
  107.     pp_ADDpoly x2 y2-ab
  108.     pp_ADDpoly x2 y1+ab
  109.     pp_ADDpoly x2-ac y1+ab
  110.     pp_ADDpoly x2-ac y1
  111.     pp_ADDpoly x2 y1
  112.     pp_ADDpoly x2 y1+ac
  113.     pp_ADDpoly x2-ab y1+ac
  114.     pp_ADDpoly x2-ab y1
  115.     pp_ADDpoly x1+ab y1
  116.     pp_ADDpoly x1+ab y1+ac
  117.     pp_ADDpoly x1 y1+ac
  118.     pp_ADDpoly x1 y1
  119.     pp_ENDpoly
  120. END
  121.  
  122. if type=4 then DO
  123.     pp_PenType 0
  124.     PP_EffectOn
  125.     j=0
  126.     do i=90 to 10 by -10
  127.         pp_Light i
  128.         pp_Box x1+j y1+j x2-j y2-j
  129.         j=j+1
  130.     end
  131.     pp_EffectOff
  132. END
  133.  
  134. if type=5 then DO
  135.     pp_PenType 0
  136.     PP_EffectOn
  137.     j=0
  138.     do i=90 to 10 by -10
  139.         pp_Shade i
  140.         pp_Box x1+j y1+j x2-j y2-j
  141.         j=j+1
  142.     end
  143.     pp_EffectOff
  144. END
  145.